package com.zlx.store.coupon.service;

import com.zlx.store.common.results.HttpResp;
import com.zlx.store.domain.entity.LogMessage;
import com.zlx.store.domain.entity.Coupon;

public interface CouponService {
    public HttpResp putCoupon(Coupon coupon);
    public HttpResp deleteCoupon(Long couponId);
    public HttpResp updateCoupon(Coupon coupon);
    public HttpResp showAllCoupon(int pageNum, int pageSize);
    public HttpResp snapUpCoupon(Long couponId, Long userId);
    public HttpResp prepareCoupon(Long couponId);
    public Long couponIsExistByBF(Long couponId);
    public HttpResp addToPreQueue(Long couponId);
    public HttpResp removeFromPreQueue(Long couponId);
    public HttpResp showPreQueue();
    public HttpResp showCouponCount();
    public HttpResp showCouponStock();
    public HttpResp showCouponByUser(Long userId);
    public HttpResp useCoupon(Long couponId, Long userId, Double total);
    public HttpResp rollBackCoupon(Long couponId, Long userId);
    public HttpResp getCouponForNew(Long userId);

    public void writeLogToMysql(LogMessage logMessage);
}
